package com.airlines.base.dao.user;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.airlines.base.dao.base.BaseMapper;
import com.airlines.base.entity.user.Role;
import com.airlines.base.entity.user.UserRoleDto;
/**
 * 
 * @author xxxx
 * @date 2017年4月17日
 * @company xxxx Airlines
 * @description 角色增删改查
 */
public interface RoleMapper  extends BaseMapper<Role, Integer>{
	
	  /**
	   * 根据用户工号查询用户所有角色
	   * @param workcode
	   * @return
	   */
	  List<Role> selectRolesByWorkcode(String workcode);
	  
	  /**
	   * 根据工号获取所有角色，包括未关联的角色, isRelated: Y or N
	   * @param workcode
	   * @param isRelated
	   * @return
	   */
	  List<UserRoleDto> listUserRoleDtoByWorkcode(@Param("workcode")String workcode,@Param("isRelated")String isRelated);
	  
 
	  /**
	   * 根据权限Code获取角色
	   * @param permissionCode
	   * @return
	   */
	  List<Role> selectRolesByPermissionCode(String permissionCode);
	  
	  /**
	   * 根据角色编号查询角色
	   * @param roleCode
	   * @return
	   */
	  Role getRoleByRoleCode(@Param("roleCode")String roleCode);

	  /**
	   * 根据角色名称查询角色
	   * @param roleName
	   * @return
	   */
	  Role getRoleByRoleName(@Param("roleName")String roleName);
	  
}
